home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
hardware
/
cirboost
/
cirboost.asm
< prev
next >
Wrap
Assembly Source File
|
1995-05-06
|
8KB
|
240 lines
;------------------------------------------------------------------------------
; A little tool coded by -= Type One =- to boost his CL-GD5424 VLB
;
; I've done some test with vidspeed on my 486 DX 40 VLB :
;
; 8 bits write : 126 frames/s in mode 13h 320x200x256 chained
; 16 bits write : 234 frames/s
; 32 bits write : 241 frames/s
;
; 8 bits write : 121 frames/s in mode X 320x200x256 tweaked
; 16 bits write : 216 frames/s
; 32 bits write : 234 frames/s
;
; 8 bits write : 29 frames/s in VESA 101h 640x480x256 chained
; 16 bits write : 49 frames/s
; 32 bits write : 50 frames/s
;
; Quite cool with a Cirrus 16 bits, no ??????
;
; Everything should work correctly .... I've just had some problems running
; Dope/Complex (you just have to remove cirboost by typing "cirboost.com")
;
; Assemble it with ml /AT to get a COM file !!!!
;
; (C) TFL-TDV 1995
;------------------------------------------------------------------------------
.286
Print MACRO Symbol
MOV AH,09h
MOV DX,OFFSET Symbol
INT 21h
ENDM
Int10 SEGMENT
ORG 100h
ASSUME CS:Int10
Start: JMP Installation
Save10 LABEL DWORD
Int10Ofs WORD ?
Int10Seg WORD ?
IDString DB "B!" ; a little string to recognize myself ;-)
NewInt10 PROC FAR
; Boost standard GFX modes
CMP AX,13h ;320x200x256
JE Boost
CMP AX,0Dh ;320x200x16
JE Boost
CMP AX,0Eh ;640x200x16
JE Boost
CMP AX,0Fh ;640x350x16
JE Boost
CMP AX,12h ;640x480x16
JE Boost
CMP AX,4F02h
JE VesaTest
JMP LetsGo
; Boost VESA modes (even SciTech's ones !)
VesaTest: CMP BX,150h ;640x350x16
JE Boost
CMP BX,151h ;640x400x16
JE Boost
CMP BX,152h ;640x480x16
JE Boost
CMP BX,153h ;320x200x256
JE Boost
CMP BX,156h ;360x200x256
JE Boost
CMP BX,154h ;320x240x256
JE Boost
CMP BX,157h ;360x240x256
JE Boost
CMP BX,155h ;320x400x256
JE Boost
CMP BX,158h ;360x400x256
JE Boost
CMP BX,102h ;800x600x16
JE Boost
CMP BX,104h ;1024x768x16
JE Boost
CMP BX,106h ;1280x1024x16
JE Boost
CMP BX,11ch ;640x350x256
JE Boost
CMP BX,100h ;640x400x256
JE Boost
CMP BX,101h ;640x480x256
JE Boost
CMP BX,103h ;800x600x256
JE Boost
CMP BX,105h ;1024x768x256
JE Boost
CMP BX,10dh ;320x200x32k
JE Boost
CMP BX,12fh ;360x200x32k
JE Boost
CMP BX,12dh ;320x240x32k
JE Boost
CMP BX,130h ;360x240x32k
JE Boost
CMP BX,12eh ;320x400x32k
JE Boost
CMP BX,131h ;360x400x32k
JE Boost
CMP BX,11dh ;640x350x32k
JE Boost
CMP BX,11eh ;640x400x32k
JE Boost
CMP BX,110h ;640x480x32k
JE Boost
CMP BX,113h ;800x600x32k
JE Boost
CMP BX,10eh ;320x200x64k
JE Boost
CMP BX,134h ;360x200x64k
JE Boost
CMP BX,132h ;320x240x64k
JE Boost
CMP BX,135h ;360x240x64k
JE Boost
CMP BX,133h ;320x400x64k
JE Boost
CMP BX,136h ;360x400x64k
JE Boost
CMP BX,11fh ;640x350x64k
JE Boost
CMP BX,120h ;640x400x64k
JE Boost
CMP BX,111h ;640x480x64k
JE Boost
CMP BX,114h ;800x600x64k
JE Boost
CMP BX,10fh ;320x200x16m
JE Boost
CMP BX,137h ;320x240x16m
JE Boost
CMP BX,138h ;320x400x16m
JE Boost
CMP BX,121h ;640x350x16m
JE Boost
CMP BX,122h ;640x400x16m
JE Boost
CMP BX,112h ;640x480x16m
JE Boost
LetsGo:
JMP OnlyCall
Boost: ; do my own stack frame ;-) !
PUSHF
PUSH CS
PUSH OFFSET Adding
OnlyCall: JMP Save10
Adding: PUSH AX
PUSH DX
MOV DX,3C4h
MOV AL,0Fh ; reg 0Fh
OUT DX,AL
INC DL
IN AL,DX
AND AL,NOT(8+16+32)
OR AL,(6 SHL 3) ; 32 bits mode + CRT FIFO depth control
OUT DX,AL
DEC DL
MOV AL,16h ; reg 16h
OUT DX,AL
INC DL
IN AL,DX
AND AL,15
OR AL,(0 SHL 4)+(2 SHL 6) ; delay for mem Write/I-O
OUT DX,AL
POP DX
POP AX
IRET
NewInt10 ENDP
EndOfResident:
; Hey this looks like some Sam'code ;-) !!!!
Copyright DB "Cirrus 542x Booster! Coded by Type One 1995 - $"
Install DB "INSTALLED",10,13,"$"
Remove DB "REMOVED",10,13,"$"
installation: MOV AX,CS
MOV DS,AX
Print Copyright
MOV AX,3510h ; routine déjà en mem ?
INT 21h
CMP WORD PTR ES:[BX-2],"!B"
JNE PutInMem ; non
Print Remove
MOV AX,ES:Int10Seg ; ES % au prg en mem
MOV DS,AX
MOV AX,2510h
MOV DX,ES:Int10Ofs
INT 21h ; restaure ancien gestionnaire
MOV BX,ES
MOV ES,ES:[2Ch]
MOV AH,49h
INT 21h ; libère l'environnement
MOV ES,BX
MOV AH,49h
INT 21h ; libère le prog
MOV AX,4C00h
INT 21h ; fin
PutInMem: Print Install
MOV Int10Ofs,BX ; sauve l'ancien gestionnaire
MOV Int10Seg,ES
MOV AX,2510h
MOV DX,OFFSET NewInt10
INT 21h ; met mon gestionnaire en place
MOV DX,EndOfResident-Start+100h+15 ; = l'age du capitaine
MOV CL,4
SHR DX,CL
XOR AL,AL
MOV AH,31h
INT 21h ; fin et rester résident
Int10 ENDS
END Start